home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
pcboard
/
kspmts33.zip
/
KSP-MAIL.DOC
< prev
next >
Wrap
Text File
|
1996-10-02
|
127KB
|
3,425 lines
KSP-Mail (tm)
Multi-Threaded Software for ESMTP Mail and NNTP (Usenet) News
on
Bulletin Board Systems
Version 3.3
Copyright (C) 1995-96
All Rights Reserved
by
KEY SOFTWARE PRODUCTS
40 Atherton Court
Redwood City, California 94061
BBS/FAX: 415-364-9847
KSP-Mail is a trademark of Key Software Products.
WATTCP is a trademark of Erick Engelke.
Power C, Multi-C, and C/Database are trademarks of Mix Software.
Lantastic is a trademark of Artisoft, Inc.
Novell is a trademark of Novell Corp.
Banyan Vines is a trademark of Banyan Inc.
DESQview is a trademark of Quarterdeck Office Systems.
TABLE OF CONTENTS
CHAPTER 1 - INTRODUCTION ........................... 1
1.1 Why is KSP-Mail Better than UUCP? ............... 1
1.2 Mail and News Service Overview ................. 2
1.2.1 The "Mail-In" Server Process(es) ......... 3
1.2.2 The "Mail-Out" Client Process ............ 4
1.2.3 The "News-In" Process (and Import Methods) . 5
1.2.4 The "News-Out" Client Process ............ 7
1.2.5 The MS/DOS "Command" Process ............. 8
1.2.6 The "Set-Clock" Client Process ........... 10
1.3 Hardware Requirements ....................... 10
1.4 Software Requirements ....................... 11
1.5 Running under OS/2 ........................... 11
1.6 Network Resources You'll Need ................. 11
1.7 GMT Time and the TZ Environment Variable ......... 12
1.8 Other KSP Software ........................... 13
1.8.1 KSP Telnet ............................. 13
1.8.2 KSP FTP ................................ 13
1.8.3 KSP SLIP ............................... 13
1.8.4 KSP HOST ............................... 13
1.8.5 So Many CD's ............................ 14
CHAPTER 2 - INSTALLING THE NETWORK CONNECTION FIRST .... 15
2.1 Packet Driver Shim for Novell .................. 15
2.2 Packet Driver Shim for Novell w/Token-Ring SNAP .. 16
2.3 Packet Driver Shim for Lantastic ............... 16
2.3.1 Changes to CONFIG.SYS ................... 16
2.3.2 Changes to PROTOCOL.INI ................. 17
2.4 Packet Driver Shim for Banyan Vines ............. 18
CHAPTER 3 - THE WATTCP CONFIGURATION FILE ............. 19
3.1 Network Parameters .......................... 20
3.1.1 The PC's Host Name ....................... 20
3.1.2 The PC's Domain Name ..................... 20
3.1.3 The PC's IP Address ...................... 20
3.1.4 The Name Server's IP Address .............. 21
3.1.5 The Router's IP Address .................. 21
3.1.6 The PC's Network Mask .................... 21
3.2 TCP/IP Parameters (optional) ................. 22
3.2.1 Maximum Segment Size (MSS) ............... 22
3.3 KSP-Mail Parameter Format .................... 22
3.4 Enabling and Disabling Processes .............. 22
3.5 Required KSP-Mail Parameters ................. 23
3.6 ESMTP (Mail) Parameters ...................... 24
3.6.1 The Remote Mail Server(s) ................ 24
3.6.2 The UUCP Mail Spool Directory ............. 24
3.6.3 Removing the UUCP "From" Line ............. 25
3.6.4 Customizing the ESMTP Server's Greeting ... 25
3.6.5 Mail Forwarding ........................ 25
TABLE OF CONTENTS
3.6.6 Limiting Inbound Message Size ............ 26
3.6.7 Sitename alias ......................... 26
3.7 ESMTP (Mail) Mailbox Verification ............. 26
3.7.1 The KSP-VRFY.EXE Verification Program .... 28
3.7.2 The PCB-VRFY.EXE Verification Program .... 29
3.7.3 Specifying Mailboxes to Verify (RCPT) ..... 29
3.7.4 Specifying the Verification Program ...... 29
3.7.5 Mailing List Expansion (EXPN) ............ 29
3.8 NNTP (News) Parameters ....................... 30
3.8.1 The Remote News Server(s) ................ 30
3.8.2 The UUCP News Spool Directory ............. 31
3.8.3 News Import Scheduling .................. 31
3.8.4 Specifying Newsgroups (and Import Method) . 31
3.8.5 Limiting Size of the POSTED.IDX File ....... 33
3.8.6 Specifying Timeout for NEWNEWS Command .... 33
3.8.7 Preventing Feedback .................... 34
3.8.8 UUCP News File Format .................... 34
3.8.9 Limiting Inbound Article Size ............ 34
3.9 Command Process Parameters ................... 35
3.9.1 Memory Swapping ........................ 35
3.9.2 Exporting Mail: The UUCP Command Line ...... 35
3.9.3 Exporting Mail: Scheduling the Command .... 36
3.9.4 Exporting Mail: Expediting the Command .... 36
3.9.5 Importing Mail: The UUCP Command Line ...... 37
3.9.6 Importing Mail: Scheduling the Command .... 37
3.9.7 Importing Mail: Expediting the Command .... 37
3.9.8 Exporting News: The UUCP Command Line ...... 38
3.9.9 Exporting News: Scheduling the Command .... 38
3.9.10 Importing News: The UUCP Command Line ..... 38
3.9.11 Importing News: Expediting the Command ... 39
3.10 Set-Clock Parameters ....................... 39
3.10.1 The Remote Time Server(s) ............... 39
3.10.2 How Often the Clock is Set ................ 39
3.11 Other Parameters ........................... 40
3.11.1 Server Timeout ........................ 40
3.11.2 Client Timeout ........................ 40
3.11.3 Close Timeout ......................... 40
3.11.4 Retrieving Hostnames .................. 41
3.11.5 Checking for Outbound Mail and News ....... 41
3.11.6 Triggering an Exit ..................... 41
3.11.7 Retry After Server Timeout .............. 42
3.11.8 Avoiding File Sharing Violations ........ 42
3.11.9 Sequence Naming of UUCP Files ............ 42
3.11.10 Silencing the Console Bell ............. 43
3.11.11 The Log File Directory ................. 43
3.11.12 Controlling Information Overload ...... 43
3.11.13 Limiting Growth of Log Files ............ 43
3.11.14 Disabling Logging .................... 44
3.11.15 Monitoring Program Condition .......... 44
TABLE OF CONTENTS
3.11.16 Controlling the Screen Saver ........... 45
3.11.17 The "OK" file ......................... 45
CHAPTER 4 - THE USER INTERFACE ....................... 46
4.1 The "Hot-Keys" .............................. 46
4.2 The Spinner ................................. 46
CHAPTER 5 - REMOTE SYSTEM MANAGEMENT ................. 48
5.1 The HELP Command ............................. 48
5.2 The LIST Command ............................. 49
5.3 The PROCESS Command .......................... 49
5.4 The QUIT Command ............................. 49
5.5 The STATS Command ............................ 50
5.6 The VALUE Command ............................ 50
CHAPTER 6 - INSTALLING YOUR ACCESS KEY ................ 51
APPENDIX 1 - TEMPORARY FILES CREATED BY KSP-MAIL ....... 52
APPENDIX 2 - HOW TO REACH US .......................... 53
APPENDIX 3 - GETTING UPDATES VIA THE INTERNET .......... 54
APPENDIX 4 - LEGAL STUFF ............................ 55
Oct 02, 1996 KSP-Mail (tm) v3.3 1
CHAPTER 1 - INTRODUCTION
For years, the defacto method to provide Internet mail and
Usenet news on a BBS was via a dial-up UUCP connection. The
recent public demand for Internet access has motivated many BBSs
to look beyond mail and news; many now also offer telnet, ftp,
and other Internet services. This kind of access requires a
TCP/IP connection, and so now many BBSs actually have two
connections to the Internet - a UUCP connection for mail and
news, and a TCP/IP connection for everything else.
You may have wondered if both connections are really necessary.
They aren't! With the introduction of KSP-Mail, now you can get
rid of your UUCP connection! KSP-Mail uses the TCP/IP protocols
called ESMTP (Extended Simple Mail Transfer Protocol) and NNTP
(Network News Transfer Protocol) to transfer mail and Usenet
news over the Internet.
1.1 Why is KSP-Mail Better than UUCP?
With KSP-Mail, you get all of the following advantages:
1. You'll save those monthly fees you're paying now
for UUCP access! Most people will be able to
recover the cost of KSP-Mail within three months!
2. You'll enjoy the faster transfer rates that TCP/IP
normally employs as compared to the typical 9600
baud UUCP dial-up.
3. Even if your TCP/IP connection runs at the same
rate as your UUCP connection, you'll still get
faster newsfeeds! That's because most UUCP
connections feed you more newsgroups than you
want; the unwanted newsgroups waste transmission
time and then have to be deleted later. KSP-Mail
only retrieves those newsgroups you specify.
4. Your callers will enjoy mail transfers that don't
have to wait for scheduled "events". KSP-Mail
waits for inbound mail 24 hours a day, and can
immediately post it to the BBS message base the
moment that it arrives! Outbound mail can be sent
as soon as the caller saves it to the message
base, without even waiting for him to log off!
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 2
5. KSP-Mail uses multi-threaded code so that multiple
processes can run concurrently. What that means
is that you can receive mail, send mail, receive
news, and send news all at the same time! In
fact, as many as four inbound mail transfers can
be taking place at the same time from four
different remote sites on the Internet! You don't
even need a multi-tasking operating system;
KSP-Mail will run on a regular MS/DOS machine.
6. KSP-Mail was designed so that it can be used with
any kind of BBS software. If your BBS can do UUCP
mail, then it can use KSP-Mail! In other words,
KSP-Mail reads and writes UUCP-style mail and news
files, not the message base format of a specific
BBS package.
KSP-Mail is shareware. The unlicensed version is fully
functional except that it limits mail and news messages to a
maximum of five lines of text. Once licensed, this limitation
is removed.
KSP-Mail was implemented using Erick Engelke's Waterloo TCP
library and Mix Software's Power C compiler and their Multi-C
and C/Database libraries. Thanks go to James Laszko at The File
Bank BBS (jlaszko@tfb.com) for his many extended hours of beta
testing this product so that you won't have to! The File Bank
BBS now runs the full line of KSP products.
1.2 Mail and News Service Overview
There are a total of nine different "threads" of execution
(processes) running concurrently in KSP-Mail. Four of these
accept incoming mail from as many as four different remote
computers simultaneously. Three more handle outbound mail,
outbound news and inbound news. The eighth is a command shell
thread is used to run other MS/DOS programs, and the last is
used to periodically contact a network time server to set
KSP-Mail's time and date clock.
There are (of course) some resource limitations: The command
shell thread is only allowed to run when all of the other
threads are idle; while the command thread is running, no other
thread is allowed to start an activity. When the command thread
is not running, no more than four of the remaining seven threads
may run at the same time; note that this always guarantees that
at least one inbound mail process is always running except when
the command thread is active.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 3
1.2.1 The "Mail-In" Server Process(es)
KSP-Mail implements an ESMTP server with up to four independent
processes that do nothing but listen for connections from remote
machine wishing to upload incoming mail. Up to four processes
may be configured to improve the odds that at least one will
always be available to respond when a remote machine wishes to
connect.
Once a mail message has been received, it is written to a spool
directory as a pair of UUCP files whose names are derived from
number stored in a "sequence" file. The "data" (*.D) file
contains the text of the message and is created first; once it
has been successfully written, then the "execute" (*.X) file is
created containing the UUCP commands needed to import the
message into the BBS message base.
Mail-In ---> UUCP UUCP BBS
ESMTP ---> Files ---> Import ---> Message
server ---> (*.D) Utility Base
sessions ---> (*.X)
Figure 1. Overview of how mail is imported.
Importing the UUCP files is handled by your own UUCP mail import
utility program, such as PCBoard's UUIN.EXE. There are several
ways to run this utility:
(1) On a separate machine, you can setup a batch file
with a continuous loop that looks for execute
files in the mail directory and runs the import
utility as soon as one or more are discovered.
The batch file can be as simple as:
:TOP
IF EXIST C:\UUCP\SPOOL\MAIL\*.X UUIN
GOTO TOP
Theoretically, you could use DESQview to run both
KSP-Mail and this batch file on the same
machine. Although KSP-Mail is DESQview "aware"
and will give up time slices, many UUCP utilities
do not, and so this approach may degrade
KSP-Mail's performance.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 4
(2) You can use the "ksp-mail.import_mail_seconds"
configuration parameter to have KSP-Mail run the
import utility for you at regular intervals.
(3) You can use the "ksp-mail.import_mail_trigger"
configuration parameter to run the import utility
immediately after KSP-Mail has written the UUCP
inbound spool file(s) to the spool directory.
(4) You can use a regular BBS scheduled "event" to
run the import utility for you at regular
intervals. (Of course this method does not
expedite importing of inbound mail.)
1.2.2 The "Mail-Out" Client Process
The Mail-Out process of KSP-Mail is implemented as an ESMTP
client. It watches the UUCP mail spool directory looking for
outbound UUCP message files. As soon as an execute file is
discovered, the Mail-Out process wakes up, connects to the
remote ESMTP or SMTP mail server, delivers the mail, and then
deletes the corresponding UUCP files.
UUCP stores each message as a set of three files - a "command"
file (*.CMD), an "execute" file (*.XQT), and a "data" file
(*.DAT). Mail-Out ignores the command file and looks instead
for the execute file, since it is usually created after the data
file.
BBS UUCP UUCP Files The
Message ---> Export ---> (*.DAT) ---> Mail-Out
Base Utility (*.XQT) Client
(*.CMD) Process
Figure 2. Overview of how mail is exported.
This approach requires that outbound mail is somehow exported
from the BBS message base to the UUCP spool directory by a UUCP
export utility program. There are several ways to run this
utility:
(1) On a separate machine, you can setup a batch file
that runs the export utility in an infinite
loop. The batch file can be as simple as:
:TOP
UUOUT
GOTO TOP
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 5
Theoretically, you could use DESQview to run both
KSP-Mail and this batch file on the same
machine. Although KSP-Mail is DESQview "aware"
and will give up time slices, many UUCP utilities
do not, and so this approach may degrade
KSP-Mail's performance.
(2) You can use the "ksp-mail.export_mail_seconds"
configuration parameter to have KSP-Mail run the
export utility for you at regular intervals.
(3) You can use the "ksp-mail.export_mail_trigger"
configuration parameter to run the export utility
whenever the size of the BBS Internet message
base increases. This will run the utility
whenever someone enters a new outbound message.
(Note that the size of the message base will also
increase when inbound mail is added to the
message base, but running the export utility in
this case should have no detrimental effect.)
(4) You can add the export command to the batch file
that runs your BBS, causing it to always try to
export any pending outbound mail after each user
logs off.
(5) You can use a regular BBS scheduled "event" to
run the export utility for you at regular
intervals. (Of course this method does not
expedite exporting of outbound mail.)
1.2.3 The "News-In" Process (and Import Methods)
NNTP (and KSP-Mail) provides two methods for importing news.
The first method is known as "pulling" news: KSP-Mail connects
as a client to an NNTP server and asks (for each of several
newsgroups) what new news is available and then requests the new
articles one at a time.
The second method is known as "pushing" news: KSP-Mail runs as a
NNTP server and waits for a news "feed" from a client. When the
client connects, it tells KSP-Mail what new articles it has and
uploads those that KSP-Mail requests.
In the "pull" method, KSP-Mail maintains the list of newsgroups
it wants to import; in the "push" method, the list of newsgroups
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 6
fed to KSP-Mail is maintained by the system administrator of
your news feed.
KSP-Mail determines which method to use based on whether or not
you specify a list of newsgroups using the "ksp-mail.newsgroups"
configuration parameter.
The "pull" method gives KSP-Mail more control over what articles
it retrieves. It allows you to change your selection of
newsgroups without notifying the NNTP system administrator.
However, the "pull" method also places a heavy load on the
remote NNTP server, and most NNTP system operators would prefer
that you ask for a feed.
The either case, the News-In process writes UUCP files that are
imported into your BBS message base by your UUCP import utility
program:
News-In UUCP UUCP BBS
Client ---> Files ---> Import ---> Message
Process (*.D) Utility Base
(*.X)
Figure 3. Overview of how news is imported.
UUCP can transfer (and store) Usenet news in one of three
formats:
(1) "Unbatched and Uncompressed": This is the same
format as used for mail. Each individual news
article is transferred as a separate file without
compression.
(2) "Uncompressed Batch": Like (1), except that
separate articles are concatenated with
separators and transferred as a single file
without compression.
(3) "Compressed Batch": Like (2), except that the
file has then been compressed to reduce transfer
time.
KSP-Mail writes incoming Usenet news as UUCP files in in
uncompressed batch format; no decompression is required. One
data (*.D) file and one execute (*.X) file is written per
newsgroup. If you prefer, KSP-Mail will write these files in
uncompressed/unbatched format by setting the configuration
parameter "ksp-mail.batch_news" to "disabled".
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 7
News is imported into the BBS message base by running the UUCP
import utility. There are several ways to run this utility:
(1) On a separate machine, you can setup a batch file
with a continuous loop that looks for execute
files in the news directory and runs the import
utility as soon as one or more are discovered,
similar to the same method described for inbound
mail.
Theoretically, you could use DESQview to run both
KSP-Mail and this batch file on the same
machine. Although KSP-Mail is DESQview "aware"
and will give up time slices, many UUCP utilities
do not, and so this approach may degrade
KSP-Mail's performance.
(2) You can use the "ksp-mail.import_news_trigger"
configuration parameter to run the import utility
immediately after KSP-Mail has written the UUCP
inbound spool file(s) to the spool directory.
(3) You can use a regular BBS scheduled "event" to
run the import utility for you at regular
intervals. (Of course this method does not
expedite importing of inbound news.)
KSP-Mail allows you to specify different spool directories for
mail and news. This means you can import mail immediately when
it arrives without spending lots of time importing lots of news
that happens to be sitting in the same spool directory.
1.2.4 The "News-Out" Client Process
Outbound news is handled in two different ways according to
whether or not the newsgroup is moderated. Postings to
moderated newsgroups are sent as mail messages to the designated
newsgroup moderator; postings to unmoderated newsgroups must be
sent as news to a news server. With UUCP, this difference is
handled by the remote machine at the far end of your UUCP link;
with ESMTP/SMTP and NNTP this difference must be determined
before the message is put out to the Internet.
In KSP-Mail, the News-Out process is designed to handle postings
to unmoderated newsgroups; postings to moderated newsgroups are
handled by the Mail-Out process.
The News-Out process works almost identically to the Mail-Out
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 8
process. Both are implemented as client processes, and both
scan for execute (*.XQT) files of outbound messages (although
perhaps in different directories). The difference is that mail
must be sent to an ESMTP/SMTP server while news postings must be
sent to an NNTP server. KSP-Mail makes this decision by
examining the UUCP command stored inside the execute file.
News is exported from the BBS message base by running the UUCP
export utility. There are several ways to run this utility:
(1) On a separate machine, you can setup a batch file
that runs the export utility in an infinite loop,
similar to the same method described for outbound
mail.
Theoretically, you could use DESQview to run both
KSP-Mail and this batch file on the same
machine. Although KSP-Mail is DESQview "aware"
and will give up time slices, many UUCP utilities
do not, and so this approach may degrade
KSP-Mail's performance.
(2) You can use the "ksp-mail.export_news_seconds"
configuration parameter to have KSP-Mail run the
export utility for you at regular intervals.
(3) You can use a regular BBS scheduled "event" to
run the export utility for you at regular
intervals. (Of course this method does not
expedite exporting of outbound news.)
1.2.5 The MS/DOS "Command" Process
KSP-Mail can execute as many as four different external
commands. These commands are intended to be used to
import/export mail and news between the BBS message base and the
UUCP spool directories.
The commands are specified by using one or more of the following
configuration parameters:
ksp-mail.export_mail_command: Used to export Internet mail
messages from the BBS message base
to a UUCP spool directory.
Parameters that determine when
this command will run are:
ksp-mail.export_mail_trigger
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 9
ksp-mail.export_mail_seconds
ksp-mail.export_news_command: Used to export news postings from
the BBS message base to a UUCP
spool directory. Parameters that
determine when this command will
run are:
ksp-mail.export_news_seconds
ksp-mail.import_mail_command: Used to import Internet mail
messages from a UUCP spool
directory to the BBS message
base. Parameters that determine
when this command will run are:
ksp-mail.import_mail_seconds
ksp-mail.import_mail_trigger
ksp-mail.import_news_command: Used to import Usenet news files
from a UUCP spool directory to the
BBS message base. Parameters that
determine when this command will
run are:
ksp-mail.import_news_trigger
No commands will run until all other processes (Mail-In,
Mail-Out, News-In, News-Out, and Set-Clock) are idle. Once a
command starts running, no other process can do anything until
the command is finished; this includes accepting incoming
ESMTP/SMTP connections from remote machines.
Note: With lots of newsgroups, the News-In process can generate
hundreds of inbound news article files to be processed by the
UUCP import utility in the command shell. This can cause long
periods of "dead time" during which the Mail-In server cannot
listen for connections from remote ESMTP/SMTP clients wishing to
deliver mail.
Most ESMTP/SMTP clients will try to connect several times over a
period of hours before giving up, so this usually is not a
serious problem. However, if you are "pulling" news, you can
reduce the "dead time" dramatically by appending the ",sort"
option to the end of the "ksp-mail.newsgroups" configuration
setting. This causes KSP-Mail to run the UUCP utility between
newsgroups rather than after all have been processed, thus
greatly reducing the number of files to be processed.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 10
1.2.6 The "Set-Clock" Client Process
In order to guarantee an accurate time reference for retrieval
of Usenet news articles posted since a certain date and time, a
network time client is provided to set KSP-Mail's internal
clock. If enabled, the process sets the clock immediately after
KSP-Mail is started, and then again periodically as determined
by the configuration parameter "ksp-mail.set_clock_hours".
A network time server can be specified using the configuration
parameter "ksp-mail.time_server". More than one server can be
specified in case the first does not respond.
Note: Since the objective is to synchronize KSP-Mail's time with
that of the NNTP server, then if that machine is also running a
time server, you might want to use it as your time server too.
1.3 Hardware Requirements
KSP-Mail must be run on a PC with a 24 hour connection to the
Internet. Ideally, this connection is by means of an adapter
card connected to an Ethernet and then through a "gateway" to
the Internet. However, it is also possible to connect to the
Internet via a dial-up SLIP (Serial Line Internet Protocol)
connection to a commercial Internet Access Provider. This
approach requires a second serial port, modem, and telephone
line dedicated to this purpose. Information on finding such a
provider is available on the KSP BBS.
We recommend dedicating an entire machine to KSP-Mail due to the
typically heavy inbound news traffic. Although theoretically
KSP-Mail can run on anything from an 8088 on up, best results
will be obtained on a 386SX25 or better.
Every BBS uses a pair of utility programs to convert messages to
UUCP files and vice-versa. (E.g., PCBoard uses UUIN and
UUOUT.) KSP-Mail can load and execute these utilities on the
same machine; however, KSP-Mail will not be able to listen for
inbound mail while they are running. A heavy Usenet news load
may require running the inbound conversion utility for quite
some time; in this case, you'll probably need yet another
machine just to do this conversion. If you're "pulling" news,
however, you may be able to reduce this time using the ",sort"
option of the "ksp-mail.newsgroups" configuration parameter.
A reasonable compromise solution would be to run KSP-Mail and
the conversion utilities under separate DESQview windows on the
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 11
same machine; in this case we recommend a 486SX25 or better.
Although KSP-Mail is DESQview "aware" and will give up time
slices, many UUCP utilities do not, and so this approach may
degrade KSP-Mail's performance.
1.4 Software Requirements
KSP-Mail was designed to run under MS/DOS. Since it runs on its
own machine, it doesn't matter what operating system the BBS
uses, as long as the KSP-Mail machine can read and write the
same file system used by your BBS.
KSP-Mail runs on top of another piece of software called a
"packet driver". The packet driver presents a standard software
interface to KSP-Mail, regardless of the type of hardware
interface that connects the PC to the network. Public domain
packet drivers exist for SLIP links and most Ethernet cards.
If your PC is connected to a non-TCP/IP proprietary network
(such as Novell or Lantastic), you will probably need a packet
driver "shim".
KSP-Mail does NOT require that you purchase a separate TCP/IP
package, such as that sold by Novell, Artisoft, or IBM.
KSP-Telent should happily coexist with any of these packages,
however.
An assortment of public domain packet drivers and shims are
available on the KSP BBS.
1.5 Running under OS/2
KSP-Mail CAN be run in a DOS session under OS/2. It is "OS/2
Aware", and will give up time slices so that it doesn't hog the
cpu. To run under OS/2, you must install the packet driver in
the same DOS session that runs KSP-Mail. Since the packet
driver is also designed for DOS, it will NOT talk to the TCP/IP
stack of OS/2 Warp Connect; thus you must install a separate
network interface card just for KSP-Mail. You cannot share one
interface card between both KSP-Mail and the TCP/IP stack of
OS/2.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 12
1.6 Network Resources You'll Need
KSP-Mail can handle mail, or news, or both.
To use KSP-Mail as an ESMTP client to deliver outbound mail, you
will need to identify an ESMTP or SMTP server that will allow
KSP-Mail to connect and post mail; the server must be willing to
act as a "relay server", forwarding the mail to its ultimate
destination.
To use KSP-Mail as an ESMTP server for inbound mail, you'll need
to establish an "MX" (Mail Exchanger) record in your name server
that directs mail addressed to the domain name of your BBS to
the IP address of the machine running KSP-Mail.
To use the "pull" method of news retrieval, you will need to
find an NNTP server that will allow you to connect as an NNTP
client, retrieve news articles, and post news articles.
To use the "push" method of news retrieval, you will need to
find someone running an NNTP server who is willing to give you a
"news feed".
To use KSP-Mail's Set-Clock process to keep an accurate clock,
you will need to find a TIME server.
Your local network guru or Internet Access Provider should be
able to help you with these matters.
For each of the remote servers (ESMTP/SMTP, NNTP, and TIME),
either its domain name or IP address is required; IP addresses
are preferred however, since they eliminate the necessity of
doing name server lookups at startup.
1.7 GMT Time and the TZ Environment Variable
The international time standard used by both ESMTP, SMTP and
NNTP is Greenwich Mean Time (GMT). KSP-Mail uses an environment
variable string called "TZ" that specifies how your local time
is converted to GMT time.
The environment string must consist of a three letter
abbreviation for your time zone, followed by a signed integer.
The integer is the number of hours that when added (mod 24) to
your local time gives GMT time. For example, when it's 3am in
California, it's 11am GMT; i.e., we add 8 to get GMT time, and
thus the proper TZ string for California's Pacific Standard Time
is PST8 (or PST+8). The corresponding command placed in an
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 13
AUTOEXEC.BAT file would be:
SET TZ=PST8
In general, time zones west of Greenwich use a positive integer,
while time zones east of Greenwich use a negative integer.
The TZ string may be optionally followed by another three letter
abbreviation to indicate that daylight saving time is observed
(e.g., PST8PDT for "Pacific Daylight Savings Time"). In this
case, KSP-Mail will automatically move its clock one hour ahead
at 2am (local time) on the first Sunday in April, and move it
back at 2am on the last Sunday in October.
1.8 Other KSP Software
Key Software Products offers a number of other products for
BBS's:
1.8.1 KSP Telnet
A door program that allows callers to connect to remote
computers anywhere on the Internet via your BBS. Available now
on our BBS.
1.8.2 KSP FTP
A door program that allows callers to transfer files to/from
remote computers anywhere on the Internet via your BBS.
1.8.3 KSP SLIP
A door program that allows callers to run any TCP/IP software
from home, including using Mosaic to browse the World Wide Web.
Available now on our BBS.
1.8.4 KSP HOST
An inbound Telnet server for MS/DOS Bulletin Board Systems.
Every node can answer both telnet and modem calls! Requires a
fossil driver on each node, a 24 hour TCP/IP connection to the
Internet, and a local area network that supports NetBios such as
Novell or Lantastic.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 14
1.8.5 So Many CD's
A PCBoard PPE to handle off-line CD-Roms. Seamlessly integrated
into PCBoard. Users post requests for off-line files and have
then returned as attachments to messages. Configurable message
pack-out dates automatically keep your hard disk from getting
cluttered. Available now on our BBS.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 15
CHAPTER 2 - INSTALLING THE NETWORK CONNECTION FIRST
Before installing KSP-Mail, you must first install:
1. The network interface hardware.
2. A corresponding packet driver.
3. A packet driver shim (if needed).
Detailed directions for these preliminary steps are available in
separate documentation that comes with the corresponding
hardware or software.
It's most common that multi-node BBS's are interconnected with
Ethernet and either Lantastic or Novell. Unfortunately, these
two network operating systems were designed using their own
proprietary protocols rather than the TCP/IP protocol and their
own proprietary software rather than packet drivers to talk to
their Ethernet interface cards. However, a piece of software
called a packet driver "shim" can be used to let both TCP/IP and
their proprietary protocol coexist.
2.1 Packet Driver Shim for Novell
Novell's network software is installed in layers as TSRs in the
order shown below. These commands are usually found either in
the AUTOEXEC.BAT file or in another batch file in a directory
typically called C:\NWCLIENT.
LSL
NE2000 }-- specific to your interface card
IPXODI
VLM
The packet driver shim (ODIPKT) logically sits on top of IPXODI,
providing a packet driver interface for software such as
KSP-Mail:
LSL
NE2000 +--- Frame Type (0-3)
IPXODI |
ODIPKT 2 97 }--- The packet driver shim
VLM |
+----- Packet Vector Interrupt (96-127)
(See comment below about hex vs. decimal)
The ODIPKT command line parameters may vary according to which
version of the software you have and how your hardware is
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 16
configured. The "Frame Type" parameter should correspond to the
position of ETHERNET_II among the frame types specified in
NET.CFG; zero (0) selects the first frame type, one (1) the
second, and so on. The "Packet Vector Interrupt" number should
correspond to an unused interrupt vector. Note that older
versions of ODIPKT insist that this number be given in decimal
(96-127) rather than in hex (0x60-0x7F). The necessary packet
driver shim can be downloaded from the Key Software Products BBS
as file ODI-SHIM.ZIP.
2.2 Packet Driver Shim for Novell w/Token-Ring SNAP
Another shim called ODITRPKT exists for Novell that should be
used if the underlying network is Token-Ring_SNAP. Installation
is similar to ODIPKT as described above, except that the first
command line parameter must correspond to the Token-Ring_SNAP
frame type in NET.CFG, and starts at "1" rather than "0". This
shim can be downloaded from the Key Software Products BBS as
file TKN-SHIM.ZIP.
2.3 Packet Driver Shim for Lantastic
Using a packet driver shim with Lantastic requires that
Lantastic be installed using NDIS (Network Driver Interface
Specification) Support. The necessary packet driver shim can be
downloaded from the Key Software Products BBS as file
DIS-SHIM.ZIP.
NDIS allows you to stack multiple protocols on a single
adapter. This lets you use multiple protocol drivers (such as
LANtastic and TCP/IP) on the same adapter. You can also use
NDIS to include third-party adapters that have NDIS drivers in
your LANtastic network. Supported adapter types include
Ethernet, Token-Ring and ARCNET (R) adapters. The software and
documentation necessary to add NDIS support to an existing
Lantastic network is available free of charge from Artisoft.
Once you have NDIS installed and working with Lantastic, adding
the shim is a simple matter of editing PROTOCOL.INI (part of the
NDIS support) and CONFIG.SYS.
2.3.1 Changes to CONFIG.SYS
With NDIS installed, there will be two device driver lines in
your CONFIG.SYS file that look something like the following:
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 17
DEVICE=C:\LANTASTI\PROTMAN.DOS /I:C:\LANTASTI
DEVICE=C:\LANTASTI\AEXNDIS.DOS
The file listed in the second line may differ if you are not
using Artisoft's interface card; in that case, this file would
typically be replaced by a NDIS driver supplied by the card
manufacturer.
The packet driver shim itself is installed as a third device
driver after the first two, as in:
DEVICE=C:\LANTASTI\PROTMAN.DOS /I:C:\LANTASTI
DEVICE=C:\LANTASTI\AEXNDIS.DOS
DEVICE=C:\DRIVERS\DIS_PKT.DOS }--- The packet driver shim
2.3.2 Changes to PROTOCOL.INI
The PROTOCOL.INI file is a text file created (usually in the
C:\LANTASTI directory) as part of the NDIS installation. Before
adding the packet driver shim, it typically looks like the
following, but with the "iobase" and "interrupt" parameters
changed according to your hardware, or with the entire
"[AEXNDIS_NIF]" section replaced if you are not using an
Artisoft interface card.
[PROTMAN]
DRIVERNAME = PROTMAN$
DYNAMIC = YES
[AEXNDIS_NIF]
DRIVERNAME = AEXNDS$
IOBASE = 0x300
INTERRUPT = 15
Adding the packet driver shim requires adding another section to
the PROTOCOL.INI file:
[PROTMAN]
DRIVERNAME = PROTMAN$
DYNAMIC = YES
[AEXNDIS_NIF] <---+
DRIVERNAME = AEXNDS$ |
IOBASE = 0x300 |
INTERRUPT = 15 | These names must match!
|
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 18
[PKTDRV] |
DRIVERNAME = PKTDRV$ |
BINDINGS = AEXNDIS_NIF <---+
INTVEC = 0x61
CHAINVEC = 0x66
NOVELL = Y
Note that the name "AEXNDIS_NIF" must exactly match the spelling
used as the title of the previous section, "[AEXNDIS_NIF]"; if
you are not using Artisoft interface cards, then both occurences
will use some other identifier. The "INTVEC" parameter may be
anything from 0x60 to 0x80; you may have to experiment to find
an unused interrupt number.
2.4 Packet Driver Shim for Banyan Vines
Although Key Software Products has never used it, and thus
cannot offer help on its installation, a packet driver shim does
exist for Banyan Vines and can be downloaded from the Key
Software Products BBS as file BAN-SHIM.ZIP.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 19
CHAPTER 3 - THE WATTCP CONFIGURATION FILE
In order to run, KSP-Mail needs to know some information about
your network, and tries to find this in a configuration file
called WATTCP.CFG. KSP-Mail looks in three directories to
locate this file. First, it checks for an environment variable
called WATTCP.CFG that specifies the directory. Second, it
looks in the current (default) directory. Third, if still not
found,it looks in the directory that contains the executable
(KSP-MAIL.EXE).
The following example may be helpful for those using the
environment variable approach: If you place WATTCP.CFG in your
PCB directory, then your AUTOEXEC.BAT file should contain the
following command:
set WATTCP.CFG=C:\PCB
Note that there is no trailing "\" after the directory name!
If KSP-Mail still can't find the configuration file, it will
attempt to automatically configure itself by looking for a
"BOOTP" server on your network. Most BBSs will not have a BOOTP
server, so we do not recommend this approach. We only mention
it here because it explains why you'll get a message saying
"Configuring through BOOTP" if it can't find your configuration
file.
The WATTCP.CFG configuration file is a normal text file
containing one entry per line. A sample configuration file is
included in this distribution, but the values MUST be modified
to suit your particular environment or else KSP-Mail will not
work!
The syntax of every entry follows the following format:
[ directive = [ "data" | data ] ] [ # comment | ; comment ]
I.e., if a directive is not followed by data, the directive is
ignored. Similary, lines without directives are ignored. The
directive is NOT case sensitive; the data IS case sensitive.
e.g., netmask=255.255.252.0
domainslist=ksp.com ; Our domain
Whitespace is normally removed from data; data containing blanks
must be surrounded by quotes. An unquoted '#' or ';' marks the
beginning of a comment.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 20
3.1 Network Parameters
The following parameters control how KSP-Mail communicates with
the rest of the TCP/IP network.
3.1.1 The PC's Host Name
This is the network name of the PC that runs your BBS (and thus
KSP-Mail). If your BBS is implemented by a network of PC's,
then each PC should have its own unique host name.
Example: hostname=bbs
Note that the host name does not include the domain name
suffix. For example, the hostname of machine '"bbs.ksp.com" is
simply "bbs".
3.1.2 The PC's Domain Name
This is the network name of the subnet to which your PC (and
possibly others) are connected.
Example: domainslist=ksp.com
Note that the domain name does not include the host name
prefix. For example, the domain name of machine '"bbs.ksp.com"
is "ksp.com".
3.1.3 The PC's IP Address
This is the unique IP address assigned to your PC.
Example: my_ip=100.2.37.4
Note: As an alternative, you may also set the IP address using
an environment variable, as in:
set ksp-ip=100.2.37.4
NOTE: An "IP address" is a logical addressing scheme used on
TCP/IP networks such as the Internet. Each computer connected
to the Internet is assigned a unique IP address. Your local
network "guru" or access provider should be able to provide you
with the IP addresses you need.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 21
IMPORTANT: The IP addresses given in this document are only
examples. Do NOT attempt to use them - they will NOT work and
your network administrator will probably get VERY upset!
3.1.4 The Name Server's IP Address
This is the unique IP address assigned to a network name
nerver. You may specify more than on nameserver by using more
than one "nameserver" line.
Example: nameserver=111.21.108.110
Your local network "guru" or access provider should be able to
provide you with the proper IP addresses of appropriate network
name servers.
3.1.5 The Router's IP Address
This is the unique IP address assigned to the network router.
Syntax: gateway = ipaddr [ , subnet [ , subnet_mask ] ]
Examples: gateway=129.97.176.1
gateway=129.97.176.2,129.97.0.0
gateway=129.97.176.2,129.97.0.0,255.255.0.0
Usually the (destination) subnet and subnet mask need not be
specified, and is used to create a "default". The other forms
are used to specify one or more other gateways for particular
subnets.
Your local network "guru" or access provider should be able to
provide you with the proper IP address of the network router.
3.1.6 The PC's Network Mask
Network masks are used to distinguish destination IP addresses
that are on the local subnet from those that are not. This
option may not be required, depending on your network topology.
Example: netmask=255.255.254.0
Your local network "guru" or access provider should be able to
provide you with the proper netmask if needed.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 22
3.2 TCP/IP Parameters (optional)
KSP-Mail will work without using the following parameters, but
they are provided if you wish to change them.
3.2.1 Maximum Segment Size (MSS)
The default value of MSS is 1400. If you know what maximum
segment size means and know what size you want, you can change
it:
Example: mss=512
Note: Some Internet access providers configure their
dial-up slip and ppp accounts with a very small segment
size. You may need to set mss as low as 212 if your
Internet connection is through such a connection.
3.3 KSP-Mail Parameter Format
The remaining parameters in WATTCP.CFG are operating parameters
that are specific to KSP-Mail. Each follows the format:
ksp-mail.<parameter>=<value>
where <parameter> and <value> are replaced by appropriate
strings.
Some parameters have counterparts in other members of the KSP
family of network application programs. Rather than have
multiple entries in the WATTCP.CFG file for each application,
such parameters can be specified globally using the format:
ksp.<parameter>=<value>
This global setting can be overridden for a specific application
by using the application-specific form at a subsequent line in
WATTCP.CFG.
3.4 Enabling and Disabling Processes
Each process has a corresponding configuration parameter that
can be used to disable that process or to report missing
parameters required for proper operation:
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 23
ksp-mail.import_news_process
ksp-mail.import_mail_process
ksp-mail.export_news_process
ksp-mail.export_mail_process
ksp-mail.command_shell_process
ksp-mail.set_clock_process
Any of these parameters may be set to "disabled" to prevent that
process from running.
Setting a parameter to "enabled" allows the process to run (the
default), but also checks whether or not all the other
parameters necessary for proper operation of that process have
been provided and reports any that are missing.
The configuration parameter ksp-mail.import_news_process works a
little differently: setting it to "enabled" has no effect, but
it may be set to either "pulled" or "pushed" to check process
parameters.
3.5 Required KSP-Mail Parameters
Each of the several KSP-Mail services requires one or more
specific KSP-Mail parameters to be specified; if any of these is
missing, KSP-Mail will still run, but that particular service
will not be provided.
The Mail-In process(es) require that you specify parameter:
ksp-mail.mail_directory
The Mail-Out process requires that you specify paramaters:
ksp-mail.mail_directory
ksp-mail.esmtp_server
The News-In process requires that you specify at least one parameter:
ksp-mail.news_directory
If news will be "pulled" rather than "pushed", then you must also
specify:
ksp-mail.nntp_server
ksp-mail.newsgroups
ksp-mail.news_hour
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 24
The News-Out process requires that you specify parameters:
ksp-mail.nntp_server
ksp-mail.news_directory
All other parameters are either not required or have default
values. However, you may still need to use one or more of them
to configure KSP-Mail properly.
3.6 ESMTP (Mail) Parameters
The following configuration parameters are specific to sending
and/or receiving Internet mail.
3.6.1 The Remote Mail Server(s)
Syntax: ksp-mail.esmtp_server=<ip_address>
or: ksp-mail.esmtp_server=<domain_name>
Aliases: ksp-mail.mail_server,
or: ksp-mail.mail_out_server
Example: ksp-mail.esmtp_server=129.295.261.1
or: ksp-mail.esmtp_server=129.295.261.1
or: ksp-mail.esmtp_server=super.man.gov
or: ksp-mail.esmtp_server=super.man.gov
Purpose: Specifies the remote ESMTP/SMTP server that accepts
your outbound mail and routes it to its final
destination.
Comment: This parameter is required only by Mail-Out. This
parameter may be repeated to specify alternative
servers in the order of preference. IP addresses are
preferred over domain names to avoid name server
lookups at startup.
3.6.2 The UUCP Mail Spool Directory
Syntax: ksp-mail.mail_directory=<path_spec>
Example: ksp-mail.mail_directory=d:\pcb\uucp\spool\mail
Purpose: Specifies the directory where inbound and outbound UUCP
spool files for mail are located.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 25
Comment: This parameter is required by both Mail-Out and
Mail-In.
3.6.3 Removing the UUCP "From" Line
Syntax: ksp-mail.uucp_from_line=<option>
Example: ksp-mail.uucp_from_line=disabled
Purpose: By default, Mail-In writes a uucp-style "From" line in
front of the RFC header at the beginning of every
e-mail message, as in:
From tech.support@ksp.com Thu Feb 29 13:52:00 1996
This non-RFC line may be eliminated by setting this
option to "disabled".
Note: This option is unrelated to the "From:" line required
as part of every RFC header.
Comment: This parameter is optional; if omitted, it defaults to
enabled, and the uucp-style "From" line is included.
3.6.4 Customizing the ESMTP Server's Greeting
Syntax: ksp-mail.esmtp_greeting=<string>
Example: ksp-mail.esmtp_greeting="Greetings from Key Software Products"
ksp-mail.esmtp_greeting="This server now supports ESMTP!"
Purpose: Adds text to the login greeting message presented by
Mail-In to the remote client. This parameter may be
repeated for multiple line messages.
Note: Since the presence of a space within the text is
likely, don't forget to surround everything to the
right of the "=" by a pair of quotation marks as shown
in the example above.
Comment: This parameter is optional. It adds text after the
default greeting, which is of the form:
220 ksp.com ESMTP service via KSP-MAIL v3.3
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 26
3.6.5 Mail Forwarding
Syntax: ksp-mail.forwarding=<option>
Example: ksp-mail.forwarding=enabled
Purpose: For use with intelligent UUCP utilities such as GIGO
that can forward mail addressed to a different domain
name. If this parameter is enabled, the destination
domain name is compared to that of the local machine;
if they match, only the user name is written to the
UUCP *.X file, otherwise the full destination address
(e.g., tech.support@ksp.com) will be written.
Comment: This parameter is optional; if omitted, the domain name
will never be written to the UUCP *.X file.
3.6.6 Limiting Inbound Message Size
Syntax: ksp-mail.max_message_bytes=<number>
Example: ksp-mail.max_message_bytes=100000
Purpose: To limit the size of inbound email messages.
Comment: This parameter is optional; if omitted, the default is
NO limit on inbound mail message size. Limit applies
total article size, including RFC header.
3.6.7 Sitename alias
Syntax: ksp-mail.sitename_alias=<host.domain>
Example: ksp-mail.sitename_alias=ksp.com
Purpose: To support situations where the hostname used in the
destination address of mail sent to your local site
differs from the actual hostname of the machine.
Comment: This parameter is optional; if omitted, your the
regular hostname defined by the "hostname" and
"domainslist" parameters in the WATTCP.CFG
configuration file will be used.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 27
3.7 ESMTP (Mail) Mailbox Verification
Mailbox verification is embedded within three ESMTP commands:
RCPT, VRFY, and EXPN. The RCPT command is used to specify a
recipient of an inbound email message; the other two commands
are mainly used by systems administrators to diagnose mail
delivery problems.
The VRFY command checks that a mailbox name is that of a user on
the local BBS. The EXPN command expands the name of a mailing
list that resides on the local BBS into a list of recipients;
this command is only implemented if one or more mailing lists
have been defined in the WATTCP.CFG configuration file.
KSP-Mail provides no default mailbox verification. It will
accept any mailbox name as valid unless a verification program
is specified in WATTCP.CFG (see "ksp-mail.vrfy_program" below).
Specifically, if no verification program is specified:
1. The RCPT command will accept any recipient.
2. The default VRFY response will be a positive
acknowledgement, but one which indicates that it can't
perform a verification.
3. The default EXPN response will be "Command not
implemented".
If specified in WATTCP.CFG, KSP-Mail will load and execute an
external program to perform username verification. This program
indicates the result by exiting with a return code:
0 The username IS valid on the local BBS
1 The username is NOT valid on the local BBS
other An error occurred during execution
If an error occurs during execution (e.g., can't locate username
database), the verification program writes a suitable one-line
error message (terminated with CR, LF) to a file called
SMTPVRFY.ERR in the current directory; KSP-Mail reads the
contents of this file, adds it to its own log, and then deletes
the file. The verification program outputs nothing to the
screen.
When the verification program is invoked by KSP-Mail, the
username is the only parameter passed on the command line (e.g.,
"john.doe"); any other site-dependent information (e.g.,
location of user database) is provided by other means such as
environment variables or configuration files. The use of
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 28
upper/lower case in the username may vary.
3.7.1 The KSP-VRFY.EXE Verification Program
This program creates and uses its own (indexed) username
database from your list of user names. There are two basic ways
to run the program: "online" (invoked by KSP-Mail) and "offline"
(for database maintenance). The "offline" commands are:
KSP-VRFY /BUILD <filespec>
E.g., "KSP-VRFY /BUILD C:\TEMP\USERNAME.TXT"
Builds a file called "USERNAME.IDX" in the current
directory, using data taken from the ASCII file specified
on the command line.
The input file contains one username per line. Upper/lower
case doesn't matter. Spaces within the name will be
replaced by periods.
KSP-VRFY /ADD <username>
E.g., "KSP-VRFY /ADD John Smith"
Adds a name to USERNAME.IDX. Username may contain any
number of spaces. Upper/Lower case does not matter.
KSP-VRFY /DEL <username>
E.g., "KSP-VRFY /DEL John Smith"
Deletes a name from USERNAME.IDX. Username may contain any
number of spaces. Upper/Lower case does not matter.
KSP-VRFY /FIND <username>
E.g., "KSP-VRFY /FIND John Smith"
Prints message on screen indicating whether or not the
specified username is present in the database file
USERNAME.IDX.
KSP-VRFY /PACK
Packs the database after a number of username entries have
been deleted.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 29
3.7.2 The PCB-VRFY.EXE Verification Program
This program is a PCBoard-specific replacement for KSP-VRFY that
reads the username database of PCBoard directly. It requires
merely that an environment variable called "PCBDAT" be set to
the filespec of (any one of) your PCBOARD.DAT file(s). E.g.,
set pcbdat=c:\pcb\node1\pcboard.dat
Note: Even if you do NOT use Clark Development's UUCP utilities
(UUIN/UUOUT) to import/export mail, PCB-VRFY will still use the
name separator (normally ".") specified in the UUCP portion of
PCBSetUp. PCB-VRFY also looks in the UUCP Base Path for a file
called ALIAS.IN; if found, PCB-VRFY will use it to translate a
mailbox alias to a user name.
3.7.3 Specifying Mailboxes to Verify (RCPT)
Syntax: ksp-mail.check_recipients_at=<host.domain>
Example: ksp-mail.check_recipients_at=ksp.com
Purpose: Attempts to deliver mail to mailboxes at sitenames in
this list will be checked to see if the mailbox is a
valid username or mailing list.
Comment: This parameter is optional; by default, the sitename
list already includes the normal machine name specified
by "hostname" and "domainslist" in WATTCP.CFG, plus any
alias specified by "ksp-mail.sitename_alias". This
parameter may be repeated to allow multiple sitenames.
3.7.4 Specifying the Verification Program
Syntax: ksp-mail.vrfy_program=<filespec>
Example: ksp-mail.vrfy_program=KSP-VRFY.EXE
Purpose: This parameter specifies the program to be used for
username verification.
Comment: This parameter is optional.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 30
3.7.5 Mailing List Expansion (EXPN)
Syntax: ksp-mail.mailing_list=<filespec>
Example: ksp-mail.mailing_list=c:\ksp\customer.lst
Purpose: Specifies the name of a mailing list used by the EXPN
command.
Comment: This parameter is optional; if omitted, the "EXPN"
command will be rejected. This parameter may be
repeated for multiple mailing lists.
The first eight characters of the mailing list name
must match the filename ("customer" in the example
above); the text file contains a list of local
usernames or Internet style email addresses, one per
line.
3.8 NNTP (News) Parameters
The following configuration parameters are specific to sending
and/or receiving Usenet news.
3.8.1 The Remote News Server(s)
Syntax:
ksp-mail.nntp_server=<ip_address>[,<username>,<password>]
or:
ksp-mail.nntp_server=<domain_name>[,<username>,<password>]
Aliases: ksp-mail.news_server,
or: ksp-mail.news_out_server,
or: ksp-mail.news_in_server,
Example: ksp-mail.nntp_server=134.121.2.54
or: ksp-mail.nntp_server=134.121.2.54,kspbbs,mypassword
or: ksp-mail.nntp_server=fountain.com
or: ksp-mail.nntp_server=fountain.com,kspbbs,mypassword
Purpose: Specifies a remote NNTP server. Required by the
News-Out process (and the News-In process if inbound
news is pulled). Different servers can be specified
for News-In and News-Out by using the alias forms of
the command parameter name.
Comment: This parameter may be repeated to specify alternative
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 31
NNTP servers in the order of preference. IP addresses
are preferred over domain names to avoid name server
lookups at startup.
Note: The optional "<username>,<password>" information may be
appended if this NNTP server requires the client to
login with the AUTHINFO command. If blanks appear
within either <username> or <password>, then everything
after the "=" sign must be surrounded by a pair of
quotation marks.
3.8.2 The UUCP News Spool Directory
Syntax: ksp-mail.news_directory=<path_spec>
Example: ksp-mail.news_directory=d:\pcb\uucp\spool\news
Purpose: Specifies the directory where inbound and outbound UUCP
spool files for Usenet news are located.
Comment: This parameter is required by both the News-In and
News-Out processes.
3.8.3 News Import Scheduling
Syntax: ksp-mail.news_hour=<hour(s)>[,<hour(s)> ... ,<hour(s)>]
Where: <hour(s)> = <number> | <number> '-' <number
Example: ksp-mail.news_hour=21
ksp-mail.news_hour=0-4,6,12,18,20-23
Purpose: Specifies what hour(s) of the day news will be
retrieved; retrieval starts on the hour.
Comment: If News-In "pulls" news, this parameter is required. If
news is "pushed" by a news feed, then this parameter is
optional and determines what hours of the day News-In
will run as an NNTP server; otherwise News-In will run
as an NNTP server 24 hours a day. This parameter may
be used more than once to specify multiple hours in the
day.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 32
3.8.4 Specifying Newsgroups (and Import Method)
Syntax: ksp-mail.newsgroups=<filespec>[,sort]
Example: ksp-mail.newsgroups=c:\ksp\ksp-mail\newsgrps.lst
or: ksp-mail.newsgroups=c:\ksp\ksp-mail\newsgrps.lst,sort
Purpose: If this parameter is omitted, News-In will run as an
NNTP server, waiting for new news to be "pushed" by a
remote client. Otherwise, News-In will act as a client
and "pull" news from a remote NNTP server. In the
latter case, this parameter specifies a list of
newsgroups to be imported and the most recent date and
time of import for each group, one per line.
The format of each line is:
<YYMMDD> <HHMMSS> <Newsgroup_Name>
Where "<YYMMDD>" and "<HHMMSS>" are each a sequence of
six digits specifying the GMT (not local!) date and
time (respectively) of the last retrieval, as in:
951003 120000 alt.bbs.pcboard
If these first two fields are all zeroes, KSP-Mail will
retrieve all articles posted within the preceding 24
hours.
If ",sort" is added after the filename, KSP-Mail will
sort the list before retrieving news so that the oldest
news will be retrieved first. In addition, if the
execution of any external import/export programs is
pending, then news retrieval will be suspended at the
end of the current group, the external program will be
executed, and then news retrieval resumed.
Comment: This parameter is required by only the News-In process,
and only if news is "pulled" rather than "pushed". It
replaces the old "newsgroup" (no trailing 's')
parameter, and no longer supports "wild cards ('*') in
the newsgroup names.
Comment: If you create an entry where the newsgroup name has
been replaced by the IP address of your NNTP server, as
in:
000000 000000 137.168.1.1
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 33
then KSP-Mail will record new newsgroups whenever they
are created on the server! The list of new newsgroups
will be added to the end of a file called GROUPS.NEW in
the same directory specified by
ksp-mail.newsgroupslist. If you have multiple NNTP
servers, just create one line for each server with the
corresponding IP address.
PCBoard: A utility program for PCBoard BBSs called PCB-GRPS.EXE
is included in the distribution file; it reads the
CNAMES.@@@ and CNAMES.ADD files and outputs a list of
newsgroups to the screen. Redirect its output to a
file for use with this configuration parameter.
PCB-GRPS requires one command line parameter, which is
the filespec of either of the CNAMES files.
3.8.5 Limiting Size of the POSTED.IDX File
Syntax: ksp-mail.max_article_days=<days>
Example: ksp-mail.max_article_days=7
Purpose: KSP-Mail records the article ID's of those
news articles which have already been imported, so that
duplicates will not be imported. These ID's are kept
in a file called "POSTED.IDX". After each news import,
KSP-Mail removes ID's from this file if their age is
older than the oldest newsgroup import, but no older
than the value set by this parameter. KSP-Mail does
this by loading and executing a file called
KSP-PACK.EXE.
Comment: Used only with the "pulled" method of news retrieval.
This parameter is optional; default value is 7 days.
3.8.6 Specifying Timeout for NEWNEWS Command
Syntax: ksp-mail.newnews_timeout=<seconds>
Example: ksp-mail.newnews_timeout=300
Purpose: Used only with the "pull" method of news retrieval.
Specifies the amount of time that KSP-Mail will wait
for a response to the NEWNEWS command when asking for
the list of new articles posted to a newsgroup.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 34
Comment: This parameter is optional; default value is 300
seconds.
3.8.7 Preventing Feedback
Syntax: ksp-mail.news_filter=<your_site_name>
Example: ksp-mail.news_filter=ksp.com
Purpose: When news is retrieved from an NNTP server, you don't
want to retrieve those articles that originated from
your own BBS. To prevent this "feedback", KSP-Mail
looks at the "From:" line in the header of the news
article and discards the article if the domain name in
the Internet address matches that of your BBS. For
this to work properly, exported news postings must use
the domain name style of addressing in the From: line
of the header, as in "john.doe@bbs.ksp.com".
Comment: This parameter is optional; if omitted, a default news
filter is constructed by concatenating the WATTCP.CFG
values specified for "hostname" and "domainslist". For
example, with hostname=bbs and domainslist=ksp.com, the
default news filter will be "bbs.ksp.com".
3.8.8 UUCP News File Format
Syntax: ksp-mail.batch_news=<option>
Example: ksp-mail.batch_news=disabled
Purpose: By default, KSP-Mail writes UUCP spool files for news
in the uncompressed batch format. If you prefer the
uncompressed and unbatched format, include this
configuration parameter as shown in the example. There
is no option to write these files in a compressed
format.
Comment: This parameter is optional; if used, the only option is
"disabled".
3.8.9 Limiting Inbound Article Size
Syntax: ksp-mail.max_article_bytes=<number>
Example: ksp-mail.max_article_bytes=100000
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 35
Purpose: To limit the size of inbound news articles.
Comment: This parameter is optional; if omitted, the default is
NO limit on inbound news article size. Limit applies
total article size, including RFC header.
3.9 Command Process Parameters
There are several configuration parameters that control how
KSP-Mail runs external programs.
Most external programs are UUCP utility programs to
import/export mail and news between the BBS message base(s) and
the UUCP spool files. If you prefer to do this on a separate
machine or in a DESQview window, then you may omit all of these
configuration parameters from your WATTCP.CFG file.
However, KSP-Mail also executes some other external programs
such as KSP-SORT.EXE, KSP-TRIM.EXE, and KSP-VRFY.EXE. Execution
of all external programs is affected by the setting of the
configuration parameter "ksp-mail.dont_swap_to" (see below).
3.9.1 Memory Swapping
KSP-Mail normally tries to make as much memory available as
possible to run an external command. It does this by saving its
own memory image, shrinking down to a small stub, running the
command, and then restoring its memory image. KSP-Mail tries
first to save its image in XMS memory, then EMS memory, and as a
disk file as a last resort. This command allows you to disable
one or more of these options.
Syntax: ksp-mail.dont_swap_to=<storage_type>
Example: ksp-mail.dont_swap_to=xms
Purpose: Options that may be disabled are "xms", "ems", and
"disk".
Comment: If all three options are disabled, then KSP-Mail will
not swap itself out of memory while the external
command is executed.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 36
3.9.2 Exporting Mail: The UUCP Command Line
Syntax: ksp-mail.export_mail_command=<command_line>
Alias: ksp-mail.bbsmail2uucp_command
Example: ksp-mail.export_mail_command=uuout
or: ksp-mail.export_mail_command="uuout -c 5"
Purpose: Specifies the command that exports Internet mail from
the BBS message base to a UUCP spool directory.
Comment: Optional. If the command line text contains one or
more spaces, the entire command line must be surrounded
by quotation marks (see above example).
3.9.3 Exporting Mail: Scheduling the Command
Syntax: ksp-mail.export_mail_seconds=<seconds>
Alias: ksp-mail.bbsmail2uucp_seconds
Example: ksp-mail.export_mail_seconds=300
Purpose: Specifies how frequently the export_mail command will
be executed.
Comment: Has no effect is no command is specified. Default
period is 60 seconds.
3.9.4 Exporting Mail: Expediting the Command
Syntax: ksp-mail.export_mail_trigger=<seconds>,<filespec>
Alias: ksp-mail.bbsmail2uucp_trigger
Example: ksp-mail.export_mail_trigger=60,c:\pcb\i-email\msgs
Purpose: Specifies the name of the BBS message base file for
Internet mail and how frequently KSP-Mail should check
its size. If growth is detected, KSP-Mail assumes that
new outbound mail has been posted and will run the
export_mail command.
Comment: Has no effect if no command is specified. If used, it
will also trigger the export_mail command when new
inbound mail is posted to the message base, but this
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 37
should have no detrimental effect. Resets the timer
associated with export_mail_seconds.
3.9.5 Importing Mail: The UUCP Command Line
Syntax: ksp-mail.import_mail_command=<command_line>
Alias: ksp-mail.uucp2bbsmail_command
Example: ksp-mail.import_mail_command=uuin
or: ksp-mail.import_mail_command="uuin -s mail"
Purpose: Specifies the command that imports mail from a UUCP
spool directory to the BBS message base for Internet
mail.
Comment: Optional. If the command line text contains one or
more spaces, the entire command line must be surrounded
by quotation marks (see above example).
3.9.6 Importing Mail: Scheduling the Command
Syntax: ksp-mail.import_mail_seconds=<seconds>
Alias: ksp-mail.uucp2bbsmail_seconds
Example: ksp-mail.import_mail_seconds=300
Purpose: Specifies how frequently the import_mail command will
be executed.
Comment: Has no effect is no command is specified. Default
period is 60 seconds.
3.9.7 Importing Mail: Expediting the Command
Syntax: ksp-mail.import_mail_trigger=<option>
Alias: ksp-mail.uucp2bbsmail_trigger
Example: ksp-mail.import_mail_trigger=on_arrival
Purpose: Specifies that KSP-Mail should execute the import_mail
command immediately after writing the mail to the UUCP
spool directory.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 38
Comment: The only option allowed is "on_arrival".
3.9.8 Exporting News: The UUCP Command Line
Syntax: ksp-mail.export_news_command=<command_line>
Alias: ksp-mail.bbsnews2uucp_command
Example: ksp-mail.export_news_command=uuout
or: ksp-mail.export_news_command="uuout -c 5"
Purpose: Specifies the command that exports news postings from
the BBS message base to a UUCP spool directory.
Comment: Optional. If the command line text contains one or
more spaces, the entire command line must be surrounded
by quotation marks (see above example).
3.9.9 Exporting News: Scheduling the Command
Syntax: ksp-mail.export_news_seconds=<seconds>
Alias: ksp-mail.bbsnews2uucp_seconds
Example: ksp-mail.export_news_seconds=300
Purpose: Specifies how frequently the export_mail command will
be executed.
Comment: Has no effect if no command is specified. Default
period is 60 seconds.
3.9.10 Importing News: The UUCP Command Line
Syntax: ksp-mail.import_news_command=<command_line>
Alias: ksp-mail.uucp2bbsnews_command
Example: ksp-mail.import_news_command=uuin
or: ksp-mail.import_news_command="uuin -s news"
Purpose: Specifies the command that imports messages from a UUCP
spool directory to the BBS message base for Usenet
news.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 39
Comment: Optional. If the command line text contains one or
more spaces, the entire command line must be surrounded
by quotation marks (see above example).
3.9.11 Importing News: Expediting the Command
Syntax: ksp-mail.import_news_trigger=on_arrival
Alias: ksp-mail.uucp2bbsnews_trigger
Example: ksp-mail.import_news_trigger=on_arrival
Purpose: Specifies that KSP-Mail should execute the import_news
command immediately after writing the news to the UUCP
spool directory.
Comment: The only option allowed is "on_arrival".
3.10 Set-Clock Parameters
The following configuration parameters apply to the Set-Clock
thread.
3.10.1 The Remote Time Server(s)
Syntax: ksp-mail.time_server=<ip_address | domain_name>
Example: ksp-mail.time_server=129.295.261.1
ksp-mail.time_server=time.nist.gov
Purpose: Specifies the remote time server that is used to set
the time and date on the KSP-Mail machine.
Comment: This parameter is required only by Set-Time. This
parameter may be repeated to specify alternative
servers in the order of preference. IP addresses are
preferred over domain names to avoid name server
lookups at startup.
3.10.2 How Often the Clock is Set
Syntax: ksp-mail.set_clock_hours=<hours>
Example: ksp-mail.set_clock_hours=12
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 40
Purpose: Specifies how often KSP-Mail contacts the remote time
server to set the local time and date.
Comment: Default is once every 24 hours.
3.11 Other Parameters
The following configuration parameters apply to both mail and
news.
3.11.1 Server Timeout
Syntax: ksp-mail.server_timeout=<seconds>
Example: ksp-mail.server_timeout=600
Purpose: Determines the maximum time a KSP-Mail server process
will wait for a command when connected to a remote
client. When this time limit expires, the connection
is aborted. Used by Mail-In and (pushed) News-In.
Comment: This parameter is optional; if ommitted, the server
timeout defaults to 300 seconds (5 minutes).
3.11.2 Client Timeout
Syntax: ksp-mail.client_timeout=<seconds>
Example: ksp-mail.client_timeout=600
Purpose: Determines the maximum time a KSP-Mail client process
will wait for a response when connected to a remote
server. When this time limit expires, the connection
is aborted. Used by Mail-Out, News-Out, (pulled)
News-In, and Set-Clock.
Comment: This parameter is optional; if ommitted, the client
timeout defaults to 300 seconds (5 minutes).
3.11.3 Close Timeout
Syntax: ksp-mail.close_timeout=<seconds>
Example: ksp-mail.close_timeout=10
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 41
Purpose: Determines the maximum time allowed to close a
connection with a remote host. When this time limit
expires, KSP-Mail simply aborts the connection.
Comment: This parameter is optional; if ommitted, the close
timeout defaults to 10 seconds.
3.11.4 Retrieving Hostnames
Syntax: ksp-mail.retrieve_hostnames=<option>
Example: ksp-mail.retrieve_hostnames=enabled
Purpose: If enabled, IP addresses of remote hosts will be
translated into hostnames using the domain name server
to provide a reliable identification of the remote
host. Otherwise, only IP addresses will be used.
Affects both the display and the log files.
Comment: Default is disabled. No other processes can run while
doing a DNS lookup; this usually isn't a problem
because translation of IP addresses into domain names
is normally quite fast and only occurs once when a
connection is established.
3.11.5 Checking for Outbound Mail and News
Syntax: ksp-mail.outbound_check_seconds=<seconds>
Example: ksp-mail.outbound_check_seconds=10
Purpose: Specifies how often KSP-Mail checks the UUCP spool
directories for outbound news and mail.
Comment: Default is once every 5 seconds.
3.11.6 Triggering an Exit
Syntax: ksp-mail.exit_spec=<filespec>[,<seconds>]
Example: ksp-mail.exit_spec=c:\ksp\ksp-exit.*,5
Purpose: If a file matching <filespec> is created while KSP-Mail
is running, the file will be deleted and then as soon
as KSP-Mail reaches a stable state, it will exit with
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 42
an error code given by the three-digit filename
extension of the matching file. The <filespec> string
may contain wildcards.
Comment: This parameter is optional; The <seconds> subparameter
specifies how frequently the check for file existence
is made; if not specified, it defaults to once every 10
seconds.
3.11.7 Retry After Server Timeout
Syntax: ksp-mail.outbound_retry_seconds=<seconds>
Example: ksp-mail.outbound_retry_seconds=3600
Purpose: If a timeout occurs while waiting on a remote server to
respond, this parameter specifies how long to delay
before trying that server again.
Comment: Default is 600 seconds (10 minutes) or twice
ksp-mail.outbound_check_seconds, whichever is greater.
3.11.8 Avoiding File Sharing Violations
Syntax: ksp-mail.share_delay_seconds=<seconds>
Example: ksp-mail.share_delay_seconds=10
Purpose: Used to eliminate file sharing violations. Specifies
how long KSP-Mail delays before reading outbound UUCP
files once they have been found in the spool
directory.
Comment: Default is 0 seconds.
3.11.9 Sequence Naming of UUCP Files
Syntax: ksp-mail.sequence_file=<filespec>
Example: ksp-mail.sequence_file=d:\pcb\uucp\ksp-mail.seq
Purpose: Specifies the location where the sequence file will be
kept. This file controls the naming algorithm used to
create inbound UUCP spool files for mail and news.
Comment: This parameter is optional; if omitted, a sequence file
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 43
will automatically be created in the same directory
where KSP-MAIL.EXE is located.
3.11.10 Silencing the Console Bell
Syntax: ksp-mail.local_bell=<option>
Example: ksp-mail.local_bell=disabled
Purpose: Prevents KSP-Mail from ringing the bell when an error
occurs.
Comment: This parameter is optional; if used, the only option is
"disabled".
3.11.11 The Log File Directory
Syntax: ksp-mail.log_directory=<directory_spec>
Example: ksp-mail.log_directory=d:\pcb\uucp\logs
Purpose: Specifies the directory where the process logs (if any)
will be stored. These files include MAIL-IN1.LOG
through MAIL-IN4.LOG, MAIL-OUT.LOG, NEWS-IN.LOG,
NEWS-OUT.LOG, and SETCLOCK.LOG. File size may be
controlled with the "verbose" parameter (see below);
files are not created unless their corresponding
process does some work.
Comment: This parameter is optional; if not specified, no log
files will be created.
3.11.12 Controlling Information Overload
Syntax: ksp-mail.verbose=<option>
Example: ksp-mail.verbose=log_files
and: ksp-mail.verbose=on_screen
Purpose: Controls the amount of information written on the
screen and in the log files. The default is that only
minimal information is written; more detail can be
enabled by use of one or both of the examples shown
above.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 44
3.11.13 Limiting Growth of Log Files
Syntax: ksp-mail.log_days_newsin=<days>
or: ksp-mail.log_days_mailin=<days>
or: ksp-mail.log_days_newsout=<days>
or: ksp-mail.log_days_mailout=<days>
or: ksp-mail.log_days_setclock=<days>
or: ksp-mail.log_days_extcmds=<days>
Example: ksp-mail.log_days_newsin=1
Purpose: KSP-Mail makes use of a program called KSP-TRIM.EXE to
limit the growth of log files. Just after each process
(Mail-In, News-Out, etc.) runs for the first time on a
new day (i.e., just after midnight), KSP-Mail will load
and execute KSP-TRIM to remove old entries from the
associated log file. The entries removed are those
whose date is older than the number of days specified
by this parameter.
Comment: These parameters are optional; all defaults are seven
days. For performance reasons, each log file now has
an associated index file (e.g., NEWS-OUT.LOG and
NEWS-OUT.IDX) that records the position of dated
entries in the log.
3.11.14 Disabling Logging
Syntax: ksp-mail.logging=<option>
Example: ksp-mail.logging=disabled
Purpose: Disables writing to the log files; default is enabled.
3.11.15 Monitoring Program Condition
Syntax: ksp-mail.monitor=<option>
Example: ksp-mail.monitor=memory
or: ksp-mail.monitor=speed
or: ksp-mail.monitor=error
Purpose: These configuration parameters are used to enable
monitoring of three program statistics. "memory"
displays (at the top of the screen) the minimum amount
of program heap and stack space remaining. "speed"
displays the number of threads executed per second in
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 45
the upper right-hand corner. When an error occurs,
"error" causes the active window to change to that in
which an error occurred.
Comment: These parameters are optional; each defaults to not
being monitored.
3.11.16 Controlling the Screen Saver
Syntax: ksp-mail.screen_saver_seconds=<seconds>
Example: ksp-mail.screen_saver_seconds=60
Purpose: Controls the number of seconds before the screen saver
is activated.
Comment: This parameter is optional; default is 60 seconds (one
minute). The timer starts when all processes are idle;
the screen will not go blank as long as at least one
process is busy. Setting this parameter to zero
disables the screen saver.
3.11.17 The "OK" file
Syntax: ksp-mail.ok_filespec=<filespec>[,<seconds>]
Example: ksp-mail.ok_filespec=c:\ksp\ksp-mail.ok,600
Purpose: Specifies the name of a zero-byte file to be created on
a periodic basis. The period defaults to once every 60
seconds, but may be adjusted by appending the second
parameter. Existence of this file with a recent date
stamp (relative to the period) implies that everything
is running ok.
Comment: This parameter is optional; if not specified, no file
will be created. Default period is 60 seconds (one
minute).
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 46
CHAPTER 4 - THE USER INTERFACE
The KSP-Mail user interface consists of nine status screens and
a set of keystrokes to move among them. Up to four screens are
associated with the Mail-In process(es), and one each for
Mail-Out, News-In, News-Out, and Set-Clock. Another screen
displays a brief status summary of all processes. All screens
are constantly updated, whether or not they are currently being
displayed.
The Summary Screen is displayed when KSP-Mail starts execution.
Each press of the spacebar moves you to the next display screen
in a cyclic fashion. Pressing the Escape Key terminates the
program.
4.1 The "Hot-Keys"
A set of active "Hot-Keys" appear in the lower left-hand corner
of each screen, with one Hot-Key for each active display
window. If one or more of the processes (Mail-In, Mail-Out,
News-In, News-Out) are inactive, their Hot-Keys will not be
shown. The key associated with the current screen will be
highlighted. Pressing a Hot-Key will move you directly to its
corresponding display screen as follows:
"M" The Mail-Out Process
"1" Mail-In Process #1
"2" Mail-In Process #2
"3" Mail-In Process #4
"4" Mail-In Process #4
"N" The News-Out Process
"I" The News-In Process
"C" The Set-Clock Process
"S" The Summary Screen
4.2 The Spinner
In the upper right-hand corner of each screen is an rotating
"spinner". It progresses from one position to the next for each
"N" executions of the active threads (processes), where "N" is
calculated periodically so as to make it spin at a relatively
constant 75 revolutions per second. The spinner is provided as
a visual confirmation that KSP-Mail is operating properly -
cycling through the active processes looking for work to do, and
to confirm that no one process is blocking concurrent execution
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 47
of the other processes.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 48
CHAPTER 5 - REMOTE SYSTEM MANAGEMENT
KSP-Mail provides an extensive set of system management commands
that allow you to remotely view or modify a large number of
operating parameters. To enable this capability, you must first
establish a system management password using the following
configuration parameter:
Syntax: ksp-mail.remote_management_password=<password>
Example: ksp-mail.remote_management_password=mothergoose
Purpose: Specifies a password to be used with the "HELO
<password>" that will enable the remote system
management commands.
Comment: This parameter is optional; if not specified, the
remote system management commands will be disabled.
Remote system management of your KSP-Mail machine is available
from anywhere in the world. Simply telnet to port 25 (or 119 if
the NNTP server for "pushed" news is configured) at the IP
address (or hostname) of the KSP-Mail machine, as in:
telnet mailer.ksp.com 25
(If using KSP Telnet, use "mailer.ksp.com:25")
This will connect you as a client to one of KSP-Mail's ESMTP
server processes (or the NNTP server if using port 119). Once
connected, you must enter the command:
HELO <password>
where "<password>" is replaced by the password you established
with the "ksp-mail.remote_management_password" parameter in the
WATTCP.CFG file. The system management commands will only be
available if the HELO command has been given with the correct
password. Since the HELO command is usually followed by a
domain name, it would be a good idea if your password did not
resemble one.
The following commands and their command line arguments may be
abbreviated by unambiguous substrings.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 49
5.1 The HELP Command
Syntax: HELP
or: HELP <command>
Example: HELP
or: HELP LIST
Purpose: To display help on one or more system management
commands.
5.2 The LIST Command
Syntax: LIST
or: LIST <list>
or: LIST ADD <list> <item>
or: LIST DEL <list> <item>
Example: LIST Mail-Out-Servers
or: LIST ADD News-Hours 12
or: LIST DEL News-In-Servers 129.215.88.7
Purpose: To display the contents of a managed list, or to add an
item to a list, or to delete an item from a list.
Comment: The names of lists managed by this command may be
viewed by entering the command with no command line
arguments. The value of "<item>" must be an IP address
or a single hour of the day (in 24-hour format).
5.3 The PROCESS Command
Syntax: PROCESS <process>
or: PROCESS PAUSE <process>
or: PROCESS RESUME <process>
Example: PROCESS News-Out
or: PROCESS PAUSE Set-Clock
Purpose: To display the current status of one or more processes,
or to pause or resume a selected process.
Comment: The names of processes managed by this command may be
viewed by entering the command with no command line
arguments.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 50
5.4 The QUIT Command
Syntax: QUIT
Purpose: To close the current management session.
5.5 The STATS Command
Syntax: STATS
or: STATS RESET
Purpose: To display a short summary of system status including
the count of mail messages and news articles imported
and exported, how long KSP-Mail has been running, and
information about utilization of system file handles
and memory.
Comment: The optional command line parameter "RESET" sets the
message and article counts to zero.
5.6 The VALUE Command
Syntax: VALUE
or: VALUE <parameter>
or: VALUE <parameter> <value>
Purpose: To display or modify the setting of one or more
operating parameters.
Comment: The names of parameters managed by this command may be
viewed by entering the command with no command line
arguments.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 51
CHAPTER 6 - INSTALLING YOUR ACCESS KEY
The unlicensed version of KSP-Mail limits each inbound and
outbound mail or news message to a maximum of five lines. To
remove this limit, you must purchase an access key and install
it as described below.
There are two parameters that must be specified in two
environment variables called "KSP-ID" and "KSP-MAIL" in order to
install your access key.
The environment variable "KSP-ID" is used to specify your BBS
name, as in:
set KSP-ID=Key Software Products BBS
The name of your BBS is always displayed KSP-Mail is running.
The environment variable "KSP-MAIL" is used to specify your
access key as in:
set KSP-MAIL=12345678
The access key is derived from the name of your BBS and of
course must match. If not, then the message "EVALUATION COPY:
Messages limited to 5 lines" will appear in the bottom
right-hand corner of the screen.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 52
APPENDIX 1 - TEMPORARY FILES CREATED BY KSP-MAIL
The following temporary files are created during the execution
of KSP-Mail.
Filename Used By Description
ARTICLES.$$$ News-In List of article IDs for the
(Pulled) current newsgroup.
MAILLIST.$$$ Mail-Out List of filenames containing
messages to be exported.
NEWSLIST.$$$ News-Out List of filenames containing
articles to be posted.
POSTED.IDX News-In List of articles used to
(Pulled) prevent duplicate postings.
POSTED.$$$ KSP-PACK Used to remove unnecessary
entries in POSTED.IDX file.
RCPT-TO1.$$$ Mail-In Keeps track of (multiple)
RCPT-TO2.$$$ recipients for an inbound
RCPT-TO3.$$$ email message.
RCPT-TO4.$$$
SORTED.$$$ News-In Used to sort list of newsgroups,
and list of articles to import.
SMTPVRFY.ERR KSP-VRFY Contains error message used
PCB-VRFY in logs by KSP-Mail.
MAIL-IN1.$$$ KSP-TRIM Temporary filenames used while
MAIL-OUT.$$$ creating trimmed log files.
NEWS-IN.$$$
NEWS-OUT.$$$
SETCLOCK.$$$
USERNAME.$$$ KSP-VRFY Temporary filenames used while
creating username database.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 53
APPENDIX 2 - HOW TO REACH US
The Key Software Products BBS/FAX number (415-364-9847) operates
24 hours a day, 7 days a week. Software at our end
automatically determines whether an incoming call is data or FAX
and will operate accordingly.
If you have access to electronic mail, you can send us a message
via any of the following:
On COMPUSERVE, send mail to:
>Internet:tech.support@ksp.com
On Internet, UUCP, or Bitnet, send mail to:
tech.support@ksp.com
On Fidonet, address mail to "UUCP" at nearest fidonet site which
provides a gateway to Internet, such as 1:105/42.
1st line of message: To: tech.support@ksp.com
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 54
APPENDIX 3 - GETTING UPDATES VIA THE INTERNET
The main distribution file is KSPMTS??.ZIP, where "??" is the
version number. You can retrieve this file via anonymous ftp at
"scizzl.scu.edu", directory "ksp". Please note that there is no
"e" at the end of "scizzl".
This file is also available from the KSP BBS.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 02, 1996 KSP-Mail (tm) v3.3 55
APPENDIX 4 - LEGAL STUFF
LIMITED WARRANTY
This software is provided 'as is' without warranty of any kind,
either expressed or implied, including, but not limited to the
implied warranties of merchantability and fitness for a
particular purpose. The entire risk as to the quality and
performance of the program is with you.
Some states do not allow the exclusion of implied warranties, so
the above exclusions may not apply to you. This warranty gives
you specific legal rights and you may also have other rights
which vary from state to state.
Key Software Products has taken due care in preparing the
documentation and software included in to ascertain their
correctness and effectiveness. However, Key Software Products
does not warrant that operation of this software will be
uninterrupted or error free. In no event shall Key Software
Products be liable for incidental or consequential damages in
connection with or arising out of the furnishing, performance,
or use of this software.
LICENSE
You MAY use this software on any computer or computers in your
possession. The licensed version is registered for use on up to
a fixed number of BBS nodes running on multiple machines and/or
multiple multi-tasking processes.
You MAY copy this software into any machine readable or printed
form for backup or modification purposes in support of your use
of the software.
You MAY distribute the original unmodified, unlicensed version
of this software, but you may not charge a fee exceeding $5.00
to cover the cost of duplicating, shipping, and handling. You
may NOT distribute a licensed version of this software.
You may NOT use, copy, modify, sublicense, assign or transfer
this software and its license, or any copy or modification, in
whole or in part, except as expressly provided for in this
license.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved